home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / prog_c / cuj0696.zip / DWYER.ZIP / GAP.TST / KSTEST_2.AWK < prev    next >
Text File  |  1995-10-26  |  1KB  |  65 lines

  1. BEGIN\
  2. {
  3.     MinKnPos = 100000;
  4.     MinKnNeg = 100000;
  5. #    printf("How Many Items?  ");
  6.     ItemCnt = 500;
  7. #    ItemCnt = 10;
  8. #    ItemCnt = 1000;
  9.     ItemCnt = 200;
  10.     printf("%d Items Expected\n", ItemCnt);
  11. }
  12. {
  13.     ++J
  14.     NextKnPos = J/ItemCnt - $NF/100;
  15.     if (J <= ItemCnt)
  16.     {
  17.     if (NextKnPos > KnPos)
  18.     {
  19.         KnPos = NextKnPos;
  20.         MaxIdx = J;
  21.     }
  22.     if (NextKnPos < MinKnPos)
  23.     {
  24.         MinKnPos = NextKnPos;
  25.         MinPosIdx = J;
  26.     }
  27.  
  28.     NextKnNeg = -(NextKnPos - 1/ItemCnt);
  29.  
  30.     if (NextKnNeg > KnNeg)
  31.     {
  32.         KnNeg = NextKnNeg;
  33.         MinIdx = J;
  34.     }
  35.     if (NextKnNeg < MinKnNeg)
  36.     {
  37.         MinKnNeg = NextKnPos;
  38.         MinNegIdx = J;
  39.     }
  40.     }
  41. }
  42. END\
  43. {
  44.     printf("%d Items Processed\n\n", J);
  45.     X = KnPos * sqrt(J);
  46.     printf("KnPlus  = %.5f\n", X);
  47.     Darling = 1 - exp(-2*X^2)*(1 - (2/3)*X/sqrt(J));
  48.     printf("KS Kn+ Probability = %.5f%%\n\n", 100*Darling);
  49.  
  50.     X = KnNeg * sqrt(J);
  51.     printf("KnMinus = %.5f\n", X);
  52.     Darling = 1 - exp(-2*X^2)*(1 - (2/3)*X/sqrt(J));
  53.     printf("KS Kn- Probability = %.5f%%\n\n", 100*Darling);
  54.  
  55.     printf("Maximum KnPlus  Occurred at Index %d\n", MaxIdx);
  56.     printf("Maximum KnMinus Occurred at Index %d\n", MinIdx);
  57.     printf("Minimum KnPlus  Occurred at Index %d\n", MinPosIdx);
  58.     printf("Minimum KnMinus Occurred at Index %d\n", MinNegIdx);
  59.  
  60. #    Knuth   = 1 - exp(-2*(X + 1/(6*sqrt(J)))^2);
  61. #    printf("\tD. E. Knuth's   Approximation = %.14e\n", Knuth);
  62. #    Knuth   = 1 - exp(-2*(X + 1/(6*sqrt(J)))^2);
  63. #    printf("\tD. E. Knuth's   Approximation = %.14e\n", Knuth);
  64. }
  65.